fold

inline fun <T, E, R> NetworkResult<T, E>.fold(onSuccess: (NetworkResult.Success<T>) -> R, onHttpError: (NetworkResult.HttpError<E>) -> R, onResponseDecodingError: (NetworkResult.ResponseDecodingError) -> R, onRequestError: (NetworkResult.RequestError) -> R): R